In recent years, distribution of contents (videos, books, or the like) via a network have been in progress. Currently, users who desire specific contents stored in a specific server have acquired the desired contents by acquiring the IP address of the server storing the contents through the DNS (Domain Name System) or the like and transmitting a request message to the server. However, there is a concern that a load on servers or an acquisition time may increase due to an increase in the number of contents or the number of users. In regard to a small number of specific contents (Video on Demand or Web pages of corporations, and the like), caches are provided in servers in the world by the conventional CDN (Content Delivery Network) technology, and thus load sharing among the servers and shortening of a response time are attained. However, the problem may not be resolved for transitory data (for example, sensor measurement data or the like) unfit for the CDN and may not be resolved for contents (for example, a discount coupon of a shopping center) for which it is impossible to use the CDN because of the cost.
NPL 1 discloses a Breadcrumbs (hereinafter, referred to as a BC) technology for retaining a content cache inside a network and performing guidance to the cache using a content ID in order to reduce a server load and shorten an acquisition time of all content data transmitted and received via a future network.
An operation of the BC will be described with reference to FIG. 1. In a network illustrated in FIG. 1, there are a content server 101, routers 201, 202, and 203, and user terminals 301 and 302. First, the user terminal 301 is assumed to attempt to acquire a given content A. The user terminal 301 acquires the IP address of the content server that retains a content A using a conventional system such as the DNS. Here, the IP address of the content server 101 is assumed to be acquired. The user terminal 301 transmits a content request message to the content server 101. The content request message includes an ID of a requested content. The content request message transmitted by the user terminal 301 is first received by the router 202. The router 202 transmits, to the router 201, the content request message received from the user terminal 301. The router 201 likewise transmits the content request message to the content server 101. The content server 101 receiving the content request message transmits a content reply message including the content data to the user terminal 301. The content reply message is first received by the router 201. Here, the router 201 analyzes the details of the message, stores a cache of the content data in a storage device of the router 201, and transmits the message to the router 202. Thereafter, the router 201 records the following information in a Breadcrumb table (hereinafter, referred to as a BC table) of the router 201.
[BC Information 201-1]                content ID=A        upstream node=null        downstream node=202        data passing time=2010/11/26 10:00:00        request passing time=null        
When there is no sufficient empty storage area in which the cache of the content data is retained in the router 201, an empty storage capacity is increased by deleting the most previously accessed content cache, and then a new content cache is stored. Even when the content cache is deleted, there is a possibility that a router having the cache is present in the downstream node direction indicated by the BC information. Therefore, the BC information is retained without change. The BC information is deleted, when a data passing time is not updated for a given time (Tf) or when a request passing time is not updated for a given time (Tq). Basically, since the capacity of the content cache that the router has is very smaller as compared to the number of all distributed contents, the caches of contents which are not downloaded many times have a tendency to be deleted relatively quickly. On the other hand, the BC information is deleted by a timer, and the timer is prolonged by arrival of a new download or request, and thus the BC information remains longer than the cache.
The router 202 receiving the content reply message from the router 201 likewise stores the cache of the content data in a storage device of the router 202 and transmits the message to the user terminal 301. Thereafter, the router 202 records the following information in a BC table of the router 202.
[BC Information 202-1]                content ID=A        upstream node=201        downstream node=null        data passing time=2010/11/26 10:00:10        request passing time=null        
After a given time, the cache data of the content A is assumed to be deleted from the storage device of the router 201 due to some reason such as shortage of a storage area.
Thereafter, the user terminal 302 is assumed to request the same content A. Similarly to the user terminal 301, the user terminal 302 acquires the IP address of the content server 101 of the content A using the DNS or the like and transmits a content request message. The content request message is received by the router 203 and is transmitted to the router 201. Here, the router 201 confirms whether the cache of the content ID (=A) included in the content request message is retained in the storage device of the router 201. When the cache of the content ID is not stored, the content ID is subjected to comparison with the BC information ([BC information 201-1]) recorded in the BC table of the router 201. When there is information which has the same content ID and of which the data passing time falls within a given time, the content request message is transmitted not in the direction of the content server but in the downstream node direction recorded in the BC table. Therefore, the router 201 transmits the message to the router 202. Thereafter, the router 201 rewrites the request passing time of the information ([BC information 201-1]) regarding the content A of the BC table of the router 201 into a time at which the content request message is received.
[BC Information 201-2]                content ID=A        upstream node=null        downstream node=202        data passing time=2010/11/26 10:00:00        request passing time=2010/11/26 10:04:59        
The router 202 receiving the content request message confirms whether the cache of the content A is stored in the storage device of the router 202. Since the cache of the content transmitted to the user 301 is stored in the router 202, the router 202 generates a content reply message including the data of the content A and transmits the content reply message destined for the user 302 to the router 201. Thereafter, the router 202 rewrites the downstream node, the data passing time, and the request passing time of the information ([BC information 202-1]) regarding the content A of the BC table of the router 202.
[BC Information 202-2]                content ID=A        upstream node=201        downstream node=201        data passing time=2010/11/26 10:05:01        request passing time=2010/11/26 10:05:00        
The router 201 receiving the content reply message from the router 202 stores the data of the content A again in the storage device of the router 201 and transmits the data of the content A to the router 203. Thereafter, the upstream node, the downstream node, and the data passing time of the information ([BC information 201-2]) regarding the content A of the BC table of the router 201 are rewritten as follows.
[BC Information 201-3]                content ID=A        upstream node=202        downstream node=203        data passing time=2010/11/26 10:05:10        request passing time=2010/11/26 10:04:59        
Likewise, the router 203 also stores the cache of the content A included in the content reply message and transmits the message to the user terminal 302. Thereafter, the router 203 records the following information in the BC table of the router 203.
[BC Information 203-1]                content ID=A        upstream node=201        downstream node=null        data passing time=2010/11/26 10:05:20        request passing time=null        
When a content request message of the user terminal 302 is transmitted from the router 201 to the router 202 and the router 202 does not store the cache of the content A either, the router 202 likewise retrieves the information ([BC information 202-1]) regarding the content A in the BC table of the router 202. Since the downstream node is null in the information retained by the router 202, the transmission in accordance with the BC is impossible any more. Therefore, the router 202 transmits the content request message to the router 201 which is an upstream node of the information of the BC table and deletes the information regarding the content A from the BC table. The router 201 receiving the content request message from the router 202 performs comparison between the content request and the BC table of the router 201. The router 201 determines that the information regarding the BC table is already invalidated since the transmitter of the message and the downstream node of the information ([BD information 201-2]) regarding the BC table are both the router 202, and then transmits the content request message to an upstream node of the information regarding the BC table or a subsequent hop with the shortest path to the content server 101. In this case, since the upstream node of the BC information ([BC information 201-2]) retained by the router 201 is null, the router 201 transmits the content request message to the content server 101 along the shortest path to the content server 101. Thereafter, the router 201 deletes the information ([BC information 201-2]) regarding the content A of the BC table. Thus, when the content data is not already present along the path according to the BC information, the content request message can be sent to the content server 101 while the invalidated BC information is deleted.
As described above, since the router retains the cache of the content data and guides the content request message in the direction in which the content reply message has flown, the content data retained in the network can be acquired, and thus the reduction of the load on the content server and the shortening of the content acquisition time can be achieved.